#!/bin/bash
#功能：禁止root远程登录，修改/etc/ssh/sshd_config

MODE=no
SRC_FILE=/etc/ssh/sshd_config
###############################################################################################
#SH
SHPATH=`readlink -f $0`
SHDIR=`dirname $SHPATH`
SHNAME="$0"

#DIR
LOG_DIR=$SHDIR/logs/$SHNAME
TMP_DIR=$SHDIR/temp/$SHNAME
mkdir -p $LOG_DIR $TMP_DIR

#
if [ ! -f $SRC_FILE.init.bak  ];then cp $SRC_FILE $SRC_FILE.init.bak;fi


#

cat $SRC_FILE|wc -l|xargs seq >$TMP_DIR/src_ln.txt 
VAR_NUM=`paste $SRC_FILE $TMP_DIR/src_ln.txt |grep -v ^#|grep -i "PermitRootLogin"|awk '{print $NF}'`
if [ -z "$VAR_NUM" ];then 
	 echo "PermitRootLogin $MODE" >> $SRC_FILE
	 if [ $? -eq 0 ];then echo "Success,FILE=$SRC_FILE 添加策略: PermitRootLogin $MODE 成功。";else echo "Error!FILE=$SRC_FILE  添加策略: PermitRootLogin $MODE 失败！请检测文件权限，或使用root用户重试！";fi
else
	cat $SRC_FILE|grep -v ^#|grep -i "PermitRootLogin"|grep -i "$MODE" >/dev/null
	if [ $? -eq 0 ];then
		echo "TIP,FILE=$SRC_FILE 已存在策略: PermitRootLogin $MODE 跳过操作。"
	else
		for i in `echo $VAR_NUM`
		do
			sed -i "$i s/^/#/" $SRC_FILE
		done
		sed -i "${i}a PermitRootLogin $MODE" $SRC_FILE
		if [ $? -eq 0 ];then echo "Success,FILE=$SRC_FILE 添加策略: PermitRootLogin $MODE 成功。";else echo "Error!FILE=$SRC_FILE  添加策略: PermitRootLogin $MODE 失败！请检测文件权限，或使用root用户重试！";fi
	fi
fi

#重启sshd服务
#service sshd restart
